package vista;

import java.awt.Color;
import java.awt.GridLayout;
import java.util.Collection;

import javax.swing.ButtonGroup;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

import modelo.Ciudad;
import modelo.JuegoObservable;
import control.PanelOpViajarActionListener;

public class PanelOpcionesViajar extends JPanel{

	private static final long serialVersionUID = 1L;
	private JuegoObservable juego;
	private GameWindow ventanaAbierta;
	private PanelDeAcciones panelDeAcciones;
	private Ciudad[] ciudades;
	private static PanelOpcionesViajar instance;
	private JRadioButton r1,r2,r3;
	private ButtonGroup group;
	private String[] opciones;
	private Collection<Ciudad> destinos;
	
	private PanelOpcionesViajar(PanelDeAcciones panel,JuegoObservable juegoIniciado,GameWindow ventana){
		
		juego = juegoIniciado;
		ventanaAbierta = ventana;
		panelDeAcciones = panel;
		
		int j = 0;
		
		destinos = juego.obtenerDestinos();
		opciones = new String[3];
		ciudades = new Ciudad[3];
		
		for(Ciudad ciudad: destinos){
			opciones[j] = ciudad.obtenerNombre();
			ciudades[j] = ciudad;
			j++;
		}
		
		setLayout(new GridLayout(0,1));
		setBackground(Color.black);
		
		
		r1 = new JRadioButton(opciones[0]);
		r2 = new JRadioButton(opciones[1]);
		r3 = new JRadioButton(opciones[2]);
		
		r1.addActionListener(new PanelOpViajarActionListener(juego, ventanaAbierta, ciudades, panelDeAcciones));
		r2.addActionListener(new PanelOpViajarActionListener(juego, ventanaAbierta, ciudades, panelDeAcciones));
		r3.addActionListener(new PanelOpViajarActionListener(juego, ventanaAbierta, ciudades, panelDeAcciones));

		r1.setActionCommand("boton1");
		r2.setActionCommand("boton2");
		r3.setActionCommand("boton3");
		
		r1.setBackground(Color.BLACK);
		r2.setBackground(Color.BLACK);
		r3.setBackground(Color.BLACK);
		
		r1.setForeground(Color.WHITE);
		r2.setForeground(Color.WHITE);
		r3.setForeground(Color.WHITE);
		
		group = new ButtonGroup();
		group.add(r1);
		group.add(r2);
		group.add(r3);
		
		add(r1);
		add(r2);
		add(r3);

	}
	
	public static PanelOpcionesViajar getInstance (PanelDeAcciones panelDeAcciones,JuegoObservable juegoIniciado,GameWindow ventanaAbierta){
		if(instance == null){
			instance = new PanelOpcionesViajar(panelDeAcciones, juegoIniciado, ventanaAbierta);
		}
		return instance;
	}
	public static void reiniciar (){
		instance = null;
	}

		
}
	
